package com.company.demo;

/**
 * 饿汉式
 * 类加我到内存后，就实例化一个单例，JVW保证线程安全
 * 简单实用，推荐使用！
 * 唯一缺点：不管用到与否，类装我时就完成实例化
 * （话说你不用的，你装我它干啥）
 */
public class HungryMan01 {
    private static final HungryMan01 INSTANCE = new HungryMan01();

    public static void main(String[] args) {
        HungryMan01 m1 = HungryMan01.getSingletonObj();
        HungryMan01 m2 = HungryMan01.getSingletonObj();
        System.out.println(m1 == m2);
    }

    /**
     * 将构造方法设置成 private ，其他地方没法调用 构造方法
     */
    private HungryMan01() {
    }

    /**
     * 获取单例对象
     */
    public static HungryMan01 getSingletonObj() {
        return INSTANCE;
    }

}